package com.foxire.demo;

import java.util.Scanner;

public class Test {
    public static void main(String[] args) {
        // 目标:面向对象编程实现智能家居控制系统。
        // 角色:设备(吊灯，电视机，洗衣机，落地窗，
        // 具备的功能:开和关。
        // 谁控制他们:智能控制系统(单例对象)，控制调用设备的开和关方法。
        // 1.定义设备类，创建设备对象代表家里的设备。
        // 2、准备这些设备对象，放到数组中，代表整个家庭的设备

        JD[] jds = new JD[4];
        jds[0] = new TV("电视",false);
        jds[1] = new WashMachine("洗衣机",false);
        jds[2] = new Lamp("吊灯",false);
        jds[3] = new Air("空调",false);

        // 3.为每个设备制定一个开个关的功能。定义一个接口让JD实现开关功能.
        // 4.创建智能控制系统对象，控制设备开和关。
        SmartHomeControl SmartHomeControl = com.foxire.demo.SmartHomeControl.getInstance();
        // 5.控制电视机
//        SmartHomeControl.control(jds[0]);

        // 6.提示用户操作  a.展示全部设备的当前情况 b.选择设备进行开关操作
        // 打印设备列表
       while (true){
           SmartHomeControl.show(jds);
           System.out.println("请选择设备进行开关操作");
           Scanner scanner = new Scanner(System.in);
           String command = scanner.next();
           switch (command){
               case "1":
                   SmartHomeControl.control(jds[0]);
                   break;
               case "2":
                   SmartHomeControl.control(jds[1]);
                   break;
               case "3":
                   SmartHomeControl.control(jds[2]);
                   break;
               case "4":
                   SmartHomeControl.control(jds[3]);
                   break;
               case "q":
                   System.out.println("退出");
                   return;
               default:
                   System.out.println("输入有误");
           }
       }

    }
}
